package cn.com.surker.production.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 生产累计付款信息表
 * </p>
 *
 * @author admin
 * @since 2024-05-31
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class ProductionPayment implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 公司ID
     */
    private Long orgId;

    /**
     * 公司
     */
    private String orgName;

    /**
     * 供应商ID
     */
    private Long supplierId;

    /**
     * 供应商
     */
    private String supplier;

    /**
     * 供应商code
     */
    private String taxCode;

    /**
     * 统计时间
     */
    private String today;

    /**
     * 累计结算金额
     */
    private Double settlement;

    /**
     * 累计付款
     */
    private Double payment;
    /**
     * 累计付款
     */
    private Double oilPayment;

    /**
     * 开票金额
     */
    private Double ticketMoney;

    /**
     * 保证金
     */
    private Double ensureMoney;

    /**
     * 油款
     */
    private Double oilMoney;
    /**
     * 状态(0:启用1：禁用)
     */
    private Integer status;

    /**
     * 审核备注，当审核结果为不通过时，必填
     */
    private String remark;

    /**
     * 创建人
     */
    private String creater;

    /**
     * 创建日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date createTime;

    /**
     * 更新人
     */
    private String updater;

    /**
     * 更新日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date updateTime;

    private String link;

    public ProductionPayment(){}
    public ProductionPayment(Long orgId, String orgName, Long supplierId, String supplier, String taxCode, String today, Double settlement, Double payment, Double  oilPayment, Double ticketMoney, Double ensureMoney, Double oilMoney, Integer status, String remark, String creater, Date createTime, String link) {
        this.orgId = orgId;
        this.orgName = orgName;
        this.supplierId = supplierId;
        this.supplier = supplier;
        this.taxCode = taxCode;
        this.today = today;
        this.settlement = settlement;
        this.payment = payment;
        this.ticketMoney = ticketMoney;
        this.ensureMoney = ensureMoney;
        this.oilPayment = oilPayment;
        this.status = status;
        this.remark = remark;
        this.oilMoney = oilMoney;
        this.link = link;
        this.creater = creater;
        this.createTime = createTime;
    }
}
